<?php
class  R850sController extends AppController {
	var $name='R850s'; //PHP4 Compatibility
	var $components = array('RequestHandler');
	var $helpers = array('Javascript','html','Ajax');
	function viewAll($evento_id=null) {
		$this->autoRender=false;
		if($this->RequestHandler->isAjax()){
			if (!$evento_id) {
				$this->Session->setFlash('Debe proporcionar el evento del que desea ver los reportes');
				$this->render('/elements/error','ajax');
				return;
			}
			else{
				$this->set('evento_id',$evento_id);
				$this->set('reportes',$this->R850->find('all',array('conditions' => array('R850.evento_id' => $evento_id),'recursive'=>0)));
				$this->render('viewAll','ajax');
			}
		}else{ //En el caso en el que la petición no se haga por ajax es muy seguro que el usuario este buscando lo que no se le ha perdido
			$this->Session->setFlash('Ha llegado aquí por error por favor contacte al administrador');
			$this->render('/elements/error');
			return;
		}
	}
	function ajaxAdd($evento_id=null) {
		$this->autoRender=false;
		if($this->RequestHandler->isAjax()){
			if (!$evento_id) {
				$this->Session->setFlash('Debe proporcionar el modelo y la llave foranea sobre las que quiere consultar los comentarios');
				$this->render('/elements/error');
				return;
			}else{
					if (!empty($this->data)) {
						if($this->data['ExamenVih']['tipo_de_examen_vih']!=0){
							$this->R850->create();
							
							$this->data['R850']['usuario_id']=$this->Session->read('Auth.Usuario.usuario_id');
							$this->data['R850']['evento_id']=$evento_id;
							if ($this->R850->save($this->data)) {
								
								$this->data['ExamenVih']['r850_id']=$this->R850->id;
								$this->R850->ExamenVih->save($this->data);
								$this->redirect(array('controller'=>'R850s','action'=>'viewAll',$evento_id));
							} else {
								$this->Session->setFlash('Hubo un error guardando su observacion, por favor contacte con el administrador. Probablemente proporcionó un id de evento que invàlido para esta clase de reportes');
								$this->render('/elements/error');
								return;
							}	
						}else{
								$this->Session->setFlash('Debe indicar el tipo de examen');
								$this->render('/elements/error');
								return;
						}
						
					}
					else{
						$this->set('evento_id',$evento_id);
						$this->render('add','ajax');
						return;
					}
				
			}
			

		}
	}
	function edit($reporte_id=null){
		$this->autoRender=false;
		if($reporte_id){
			$reporte=$this->R850->find('first',array('conditions'=>array('R850.r850_id'=>$reporte_id),'recursive'=>1));
			if($reporte){
				$this->set('reporte_id',$reporte_id);
				if(empty($this->data)){
						$this->data=$reporte;
						$this->render('edit','ajax');
				}else{
						$this->data['R850']['r850_id']=$reporte_id;
						$this->data['R850']['usuario_id']=$this->Session->read('Auth.Usuario.usuario_id');
						if ($this->R850->updateAll($this->data)) {
							$this->redirect(array('controller'=>'R850s','action'=>'viewAll',$evento_id));
							
						} else {
							$this->Session->setFlash('Hubo un error guardando su observacion, por favor contacte con el administrador. Probablemente proporcionó un id de evento que invàlido para esta clase de reportes');
							$this->render('/elements/error');
							return;
						}
				}				
			}else{
				$this->Session->setFlash('Proporcione un id de reporte válido');
				$this->render('/elements/error');
				return;	
			}
		}else{
			$this->Session->setFlash('No ha proporcionado un id de reporte');
			$this->render('/elements/error');
			return;	
		}
			
	}
	function delete($reporte_id=null){
		$this->autorRender=false;
		if($reporte_id){
			$reporte=$this->R850->find('first',array('conditions'=>array('R850.r850_id'=>$reporte_id),'fields'=>array('R850.usuario_id','R850.evento_id')));
			if($reporte){
				if($this->Session->read('Auth.Usuario.usuario_id')==$reporte['R850']['usuario_id']){
					if($this->R850->delete($reporte_id)){
						$this->redirect(array('controller'=>'R850s','action'=>'viewAll',$reporte['R850']['evento_id']));
					}
					else{
						$this->Session->setFlash('No se pudo borrar el reporte. Por favor recargela la pàgina e intèntelo de nuevo');
						$this->render('/elements/error','ajax');
						return;	
					}	
				}else{
					$this->Session->setFlash('Usted no es el creaor de este reporte de id '.$reporte['R850']['usuario_id'].', pues ud es '.$this->Session->read('Auth.Usuario.usuario_id').' y por lo tanto no puede borrarlo. Para seguir viendo los reportes por favor recargue la página');
					$this->render('/elements/error','ajax');
					return;	
				}
			}else{
				$this->Session->setFlash('El reporte que esta intentando borrar no existe');
				$this->render('/elements/error','ajax');
				return;	
			}
			
			
		}else{
			$this->Session->setFlash('No ha proporcionado un id de reporte');
			$this->render('/elements/error');
			return;	
		}
	}
}
?>